package com.itfenghuang.day14;
/*
生产者 消费者
等待唤醒者机制
 */
public class A03_WaitAndNotify {
    /*
    1.Object中的几种方法

    2.生产者消费者模型
        厨师和吃货为例    厨子 吃货 桌子
    3.生产者优先抢到cpu的使用权
        1).判断桌子有没有菜
        2).如果有不需要做菜
                1.厨子等待
                2.吃货去吃
                3.吃货吃完叫厨子做
        3).如果没菜
                1.厨子做菜
                2.做完之后休息
    4.消费者抢到cpu使用权
        1).先判断桌子是否有菜
        2).如果有菜,直接吃
        3).如果没菜,叫厨子做菜,自己休息
        小套路: 先写个死循环    加锁 同步代码块
        生产者或者消费者判断
         厨子: 没有就干活  叫醒另一个    有就休息
         吃货: 有就干活 叫醒另一个 没有就休息
     */
    public static void main(String[] args) {
        A03_Cook cook = new A03_Cook();
        A03_Foodie foodie = new A03_Foodie();
        cook.start();
        foodie.start();
    }
}
